2

1. Spring配置文件

1.1 配置文件占位符

  • 随机数

    random.int()    random.uuid()等随机值
  • 获取配置文件中配置的值,支持指定默认值
server:
  port: 8081

person:
  name: 张三
  age: ${person.dog.age}
  map:
    favorite: 羽毛球${random.uuid}
    address: 朝阳区${person.name}
  lists:
    - 语文${server.port}
    - 数学
    - 英语
  dog:
    name: ${person.hello:我}的狗  //冒号后面指定默认值
    age:  12

1.2 Profile文件

  1. 多Profile文件形式

    • 默认使用appcation.properties中的配置,优先级大于application.yml
    • 项目中包含application-dev.properties、application-test.properties文件
    • 在application.properties文件中配置spring.profiles.active=dev激活配置文件
  2. yml文档块

    • 通过3个横线可以将yml文件分隔成文档块

      server:
      port: 8085
      spring:
      profiles:
       active: dev
      
      ---
      spring:
      profiles: dev
      server:
      port: 8086
      
      ---
      spring:
      profiles: test
      server:
      port: 8989
  3. 通过命令行 --spring.profiles.active=test 指定要激活的配置文件

1.3 配置文件加载位置

优先级由高到低,高优先级文件覆盖低优先级文件,互补配置:

  • 项目路径下/config/application.yml
  • 项目路径下/application.yml
  • resource/config/application.yml
  • resource/application.yml

2. Spring配置类

  1. @Configuration
    @Configuration的作用是指明当前类是一个配置类,代替之前的spring配置文件
  2. @Bean
    @Bean用来注解方法,将方法的返回值注入到容器中,容器中这个组件的id就是方法名
/*
@Configuration的作用是指明当前类是一个配置类,代替之前的spring配置文件
 */
@Configuration
public class MyAppConfig {

    /*
    @Bean用来注解方法,将方法的返回值注入到容器中,容器中这个组件的id就是方法名
     */
    @Bean
    public Dog dog(){
        System.out.println("配置类给容器中添加组建了");
        return new Dog();
    }
}

Helen
50 声望4 粉丝

千里之行,始于足下